#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDialog>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    ,ui(new Ui::MainWindow),child(new child_dialog(this))
{
    ui->setupUi(this);

    //qt4风格,SLOT(showchild(1,2,3,4))不报错,不推荐。
    //connect(ui->showchildButton,SIGNAL(clicked()),this,SLOT(showchild()));
    //qt5风格
    //接收主界面ui的显示子窗口的点击事件。
    connect(ui->showchildButton,&QPushButton::clicked,this,&MainWindow::showchild);

    //接收子界面的信号。
    connect(child,&child_dialog::showmainwindow_sig,this,&MainWindow::showmainwindow);

    //auto p = new QDialog(this);//对象树，当this被析构的时候，他也会被正确析构。
    // p->setModal(true);//模态的窗口。
    // p->show();

    // QDialog w;
    // w.exec();//模态的窗口，它会阻塞，返回之后MainWindow才能完成构造显示出来。
}

MainWindow::~MainWindow()
{
    delete ui;
    if(child){
        delete child;
        child = nullptr;
    }
}

void MainWindow::showchild(){
    this->hide();
    child->show();
}

void MainWindow::showmainwindow()
{
    show();
}
